package config

import "fmt"

type Redis struct {
	RedisServer     string   `yaml:"redisServer"`     // 单节点/主节点地址
	RedisPort       string   `yaml:"redisPort"`       // 单节点/主节点端口
	RedisPassword   string   `yaml:"redisPassword"`   // 密码
	RequirePassword bool     `yaml:"requirePassword"` // 强制密码认证
	ClusterNodes    []string `yaml:"clusterNodes"`    // 集群节点列表 ["host1:port1", "host2:port2"]
	SlaveNodes      []string `yaml:"slaveNodes"`      // 从节点列表 ["host1:port1", "host2:port2"]
	Mode            string   `yaml:"mode"`            // 运行模式: single/master-slave/cluster
}

func (r *Redis) RedisAddr() string {
	return fmt.Sprintf("%s:%s", r.RedisServer, r.RedisPort)
}
